#include "D3DUtil.h"
#include "vector"
#include "string"
#include "ObObject.h"
#include "TreeNode.h"
#include "Camera.h"

#include "ObBrick.h"
#include "ObBrickSP.h"
#include "ObPipe.h"
#include "ObScoreTree.h"
#include "ObCoin.h"
#include "ObDeathField.h"

#include "ObCastle.h"
#include "ObCloud.h"
#include "ObGrass.h"
#include "ObMountain.h"
#include "ObBlackground.h"

#include "ObPlayer.h"
#include "EMushroom.h"
#include "ETurtle.h"
#include "ObBullet.h"

using std::vector;
using std::string;

class Map{
public:
	enum STATUS {BACK = 1, CHOSED, QUAD_BACK, QUAD_CHOSED, MAP_TIME, MAP_NAME};
	Map(string mapName, string fileName);
	~Map();

	std::string getName();
	
	ObObject* getObjectFromID(int id);
	vector<ObObject*> getChosedMap();
	vector<ObObject*> getBackMap();
	TreeNode* getChosedTree();
	TreeNode* getBackTree();
	ObObject* getMario();
	//NEW
	bool mIsReady;
	RECT mContainer;
	int MapTime;
	std::string mName;
private:
	vector<ObObject*> mChosedMap;
	vector<ObObject*> mBackMap;
	ObObject* mMario;
	TreeNode* mTree;
	TreeNode* mBackTree;
	
};